<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      // 在「杨辉三角」中，每个数是它左上方和右上方的数的和,从索引为0开始计算行数，给定一个非负索引 `rowIndex`，返回「杨辉三角」的第 `rowIndex` 行
      // 示例:输入: rowIndex = 3  输出: [1,3,3,1]
      function getRow(rowIndex) {
        // arr储存所有数据
        let arr = []
        // 创建二维数组 每行作为1个数组保存
        for (let i = 0; i <= rowIndex; i++) {
          arr[i] = new Array(i + 1)
        }
        // 计算每个值放进数组中
        for (let i = 0; i <= rowIndex; i++) {
          for (let j = 0; j <= i; j++) {
            if (j == 0 || j == i) {
              //这一排的第一个个最后一个等于1
              arr[i][j] = 1
            } else {
              //中间的数组的值是由上一排左右两个值之和
              arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j]
            }
          }
        }
        return arr[arr.length - 1]
      }
      console.log(getRow(3))
    </script>
  </body>
</html>
